Les tests d’hypothèses économiques
Une question centrale à se poser avant de conclure quant à la validité des résultats est de savoir si le modèle spécifié est correcte:
La relation est-elle commune pour l’ensemble des individus de l’échantillon?
La forme fonctionnelle choisie est-elle la meilleure?
Une variable importante est-elle omise?
Dans ce TD, nous allons apporter quelques tests permettant d’avoir des “intuitions” quant à la validité du modèle choisi
set.seed(42)
suppressPackageStartupMessages({library(ggplot2); library(dplyr); library(tidyr)})
years <- 1960:1990
t0 <- min(years)
t <- years - t0
n <- length(years)
t_break <- 1974
## Trajectoire "stable"
y_stable <- 5 + 0.5 * t + rnorm(n, sd = 1.5)
## Trajectoire avec rupture (claire) : saut de niveau + pente plus forte
beta_pre <- 0.20 # pente avant 1974
beta_post <- 1.10 # pente après 1974
level_jump <- 8 # saut de niveau à 1974
sd_pre <- 1.2
sd_post <- 1.0
is_post <- years > t_break
# Formule segmentée (continue au point de rupture + saut de niveau explicite)
y_break <- 3 + beta_pre * t +
is_post * ( level_jump + (beta_post - beta_pre) * (t - (t_break - t0)) ) +
rnorm(n, sd = ifelse(is_post, sd_post, sd_pre))
df <- tibble(
year = years,
stable = y_stable,
rupture = y_break
) |>
pivot_longer(-year, names_to = "scenario", values_to = "y") |>
mutate(segment = case_when(
scenario == "stable" ~ "Stable (toutes années)",
scenario == "rupture" & year <= t_break ~ "Avant 1974",
scenario == "rupture" & year > t_break ~ "Après 1974"
))
# Bandeau après 1974 pour guider l’œil
band <- data.frame(xmin = t_break, xmax = max(years), ymin = -Inf, ymax = Inf)
ggplot() +
# Bandeau post-1974
geom_rect(data = band, aes(xmin = xmin, xmax = xmax, ymin = ymin, ymax = ymax),
inherit.aes = FALSE, fill = "grey90") +
# Points
geom_point(data = df, aes(year, y, color = scenario), alpha = 0.7) +
# Deux droites pour le scénario "rupture" (avant / après)
geom_smooth(data = df %>% filter(scenario == "rupture"),
aes(year, y, linetype = segment), method = "lm", se = FALSE, linewidth = 1.1) +
# Une seule droite pour le scénario "stable"
geom_smooth(data = df %>% filter(scenario == "stable"),
aes(year, y), method = "lm", se = FALSE, linewidth = 1.1) +
# Marqueur de la date de rupture
geom_vline(xintercept = t_break, linetype = 2) +
annotate("label", x = t_break + 0.6, y = max(df$y, na.rm = TRUE),
label = "Rupture 1974", size = 3) +
labs(x = "Année", y = "Variable (simulée)",
color = "Scénario", linetype = "Segment (rupture)") +
theme_minimal(base_size = 13) +
theme(legend.position = "top")Figure 1: Rupture structurelle marquée en 1974 : saut de niveau + changement de pente.
Figure 2: Hétérogénéité des coefficients par groupe (pays en guerre vs autres).
Figure 3: Inverted-U dataset: linear fit misses curvature; quadratic and smoother capture it.
Test de Chow
Ce test nécessite de connaître le point de rupture
Intuition: Le test cherche à étudier si les comportements différent dans les deux sous-échantillons (1 & 2)
En présence de stabilité des coefficients, la SCR de l’chantillon total devrait être égale à la somme des SCR des deux sous chantillons
\(SCR_{t} \equiv SCR_{1}+SCR_{2}\)
\(H_0\): Stabilité des coefficients
Caution
Attention: Il faut travailler avec des erreurs homoscédastiques (sinon forte probabilité de rejet de \(H_{0}\))
Test de Chow
La statistique de Chow suit une loi de Fisher-Snedecor:
Note
On estime 3 régressions, la 1re sur le premier sous-échantillon avant la date de rupture, la 2nde sur le deuxime échantillon après la date de rupture, et la 3me sur l’échantillon complet.
KFaire: View \(\to\) Stability diagnostic \(\to\) Chow Breakpoint Test
Choisir le point de rupture
Note
Ce test peut être fait avec plus de deux sous-groupes
Test de Chow
Sur petits échantillons, appliquer le test de Chow prédictif:
Sur EViews, choisir Chow Forecast Test
Test de Quandt-Andrews
Test basé sur le test de Chow mais utile si la date de rupture est inconnue
La procédure du test est la suivante:
Estimation de la statistique de Chow pour toutes les observations possibles
On retient la date la plus défavorable l’hypothèse nulle
On regarde en fonction de la table tabulée par Andrews si \(H_{0}\) est rejetée ou non
Ce test est enregisté sur EViews:
Stability Diagnostic \(\to\) Quandt-Andrews Breakpoint Test
Test Sample: Permet de connaître le point de rupture
Important
Les tests de Chow et Quandt-Andrews sont programmés pour des séries temporelles
Avant de les mettre en oeuvre, il faut classer les données par ordre croissant en fonction de la modalité pouvant être l’origine de la rupture
Faire Proc \(\to\) Sort Current Page
Choisir la variable
Solutions
En cas de non stabilité des coefficients, trois solutions sont envisageables:
Estimer sur des sous-chantillons
Inclure des variables muettes additives et multiplicatives selon la période de rupture
Exclure les points aberrants
Il est important de savoir si le modle est bien spécifié
Prise en compte de toutes les variables pertinentes
Utilité de la forme linaire
Une solution simple serait d’inclure ces variables et de tester leur significativité. Cette solution pose problème:
Perte de degrés de liberté
Il faut connaître ces variables
Ne permet pas de traiter du problême de la linarité
\(\to\) Le test du RESET permet de faire la même chose plus simplement
Le test du RESET va comparer la spécification retenue à une spécification plus générale:
\(H_{0}: y_{i}=\beta_{0}+\beta_{1}x_{i}+\beta_{2}z_{i}+\epsilon_{i}\)
\(H_{1}: y_{i}=\beta_{0}+\beta_{1}x_{i}+\beta_{2}z_{i}+\delta_{1}\hat{y}_{i}^2+\delta_{2}\hat{y}_{i}^3+\delta_{3}\hat{y}_{i}^4+\epsilon_{i}\)
Il va consister à voir si les coefficients \(\delta_{j}\) sont conjointement diffrents de 0 grâce un F-test
Rejet de \(H_{0}\) \(\to\) Mauvaise spcification du modle
Forme linaire appropriée?
Variable(s) pertinente(s) non incluse(s)?
Sur EViews: Stability Diagnostic \(\to\) Ramsey RESET Test
Le polynme retenu est généralement d’ordre 3 ou 4
Il peut exister un problème de multicolinarité
Il peut être parfois utile de comparer des modèles differents
Les critres d’information sont utiles pour sélectionner le meilleur modèle économique
Il existe également le J-test
Les trois principaux critères sont:
Critère d’Akaike (AIC)
Critère de Schwartz (SC)
Critère de Hannan-Quinn (HQC)
Ces critères se calculent comme suit:
\(AIC=ln\left(\frac{SCR}{N}\right)+\frac{2K}{N}\)
\(SC=ln\left(\frac{SCR}{N}\right)+\frac{Kln(K)}{N}\)
\(HQC=Nln\left(\frac{SCR}{N}\right)+2Kln[ln(N)]\)
La valeur de ces critères est donnée dans le tableau de régression
On choisit le modèle qui minimise les critères d’information
Caution
Attention: Ces critres sont à manier avec prudence et le raisonnement économique doit toujours primer
Vérifier les hypothèses économiques.
Estimer par les MCO le modèle :
\(\log(Pass_i) = \beta_0 + \beta_1 Fatal_Passagers_i + \beta_2 NonFatal_Passagers_i + \beta_3 Low_cost_i + \beta_4 Public_i + \beta_5 Inter_i + \beta_6 Age_i + \beta_7 Trafic_nat_i + \beta_8 Trafic_dest_i + \varepsilon_i\)
Lecture/bonnes pratiques :
Pour les muettes (Low_cost, Public, Inter), \(100\times(\exp(\beta)-1)\) donne l’effet % moyen par rapport à la catégorie de référence.
En pratique (EViews) : Quick → Estimate Equation, entrer la formule, puis vérifier signification (p-values), \(R^2\), et résidus.
(a) Quel problème en cas de non-stabilité ?
Les coefficients varient selon le temps ou les sous-groupes → la relation n’est pas homogène sur tout l’échantillon. Conséquences : mauvaise spécification, biais d’interprétation, tests t/F non pertinents « moyennés », prévisions trompeuses pour certains sous-ensembles.
(b) Comment tester cette hypothèse ?
Plusieurs approches :
Point de rupture connu (par exemple une date précise, changement de politique) :
Test de Chow (comparaison avant/après la date de rupture) ;
ou estimation avec variables d’interaction et test d’égalité conjointe des coefficients.
Point de rupture inconnu : dans ce cours on retient le test de Quandt-Andrews, qui cherche automatiquement une ou plusieurs dates de rupture possibles dans l’échantillon.
Créer une variable muette UE, introduire des interactions muette × variables explicatives puis tester l’égalité des coefficients (Wald ou test de Chow).
Si les coefficients diffèrent, on peut :
conserver les interactions (coefficients spécifiques par groupe),
ou estimer deux modèles séparés.
Objectif / Hypothèses :
Le RESET de Ramsey détecte une mauvaise spécification fonctionnelle (omission de termes non linéaires, interactions, variables pertinentes).
\(H_0\) : bonne spécification (pas de non-linéarités/termes manquants détectables).
\(H_1\) : mauvaise spécification (il manque des transformations de \(X\), interactions, ou la forme n’est pas linéaire).
Mise en œuvre (EViews) : View → Stability Diagnostics → Ramsey RESET test (ou View → Specification Tests, selon version). Lire la statistique F et la p-value.
Décision avec la statistique F
Relever la statistique \(F_{\text{obs}}\) donnée par EViews et les degrés de liberté \((k,\,n-k)\) indiqués dans le tableau du test.
Trouver dans la table de la loi de Fisher la valeur critique \(F_{\alpha}(k,\,n-k)\).
Comparer :
Si \(F_{\text{obs}} \le F_{\alpha}(k, n-k)\): on ne rejette pas \(H_0\) → la forme linéaire n’est pas remise en cause.
\(F_{\text{obs}} > F_{\alpha}(k, n-k)\): on rejette \(H_0\) → le modèle est mal spécifié ; il faut ajouter des termes (quadratiques, cubiques, interactions, transformations log, etc.) puis re-tester.
Econométrie - L3